'use strict'

define([ 'jquery', 'bootstrap', 'select2', 'shiftform', 'validate',
		'validate.en' ], function($) {
	return {
		init : function() {
			this.initCreate();
			this.initEdit();
			this.initDelete()
		},
	
	initCreate: function() {
		$(document).on('shown.bs.modal', '#add', function(e){

  	    	$(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
  	        
  	        var $form = $(e.currentTarget).find("form")                          //bind shiftform
  	        $form.shiftform({
  	          beforeSubmit : function(el) {
  	            $form.trigger("validate.ajax.submit");
  	            return $.bt_validate.result[$.bt_validate.form_id]
  	          }
  	        })
          })
	},
	initEdit: function() {
		$(document).on('shown.bs.modal', '#edit', function(e){

  	    	$(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
  	        
  	        var $form = $(e.currentTarget).find("form")                          //bind shiftform
  	        $form.shiftform({
  	          beforeSubmit : function(el) {
  	            $form.trigger("validate.ajax.submit");
  	            return $.bt_validate.result[$.bt_validate.form_id]
  	          }
  	        })
          })
	},
	initDelete: function() {
		$(document).on('shown.bs.modal', '#delete', function(e){

  	    	$(e.currentTarget).find('form[data-validate="true"]').bt_validate()  //bind validate
  	        
  	        var $form = $(e.currentTarget).find("form")                          //bind shiftform
  	        $form.shiftform({
  	          beforeSubmit : function(el) {
  	            $form.trigger("validate.ajax.submit");
  	            return $.bt_validate.result[$.bt_validate.form_id]
  	          }
  	        })
          })
	}

	}
})
